﻿namespace KinonekoSoftware.CodariaDB.Documents.DataParts.Country
{
    [Flags]
    public enum CountryType : int
    {
        InlandState  = 0b0001,
        IslandState  = 0b0010,
        CoastalState = 0b0100,
    }

    [Flags]
    public enum LandscapeType : int
    {

        Plateau      = 0b0000_0000_0000_0001, // 高原
        Basin        = 0b0000_0000_0000_0010, // 盆地
        Plain        = 0b0000_0000_0000_0100, // 平原
        Hills        = 0b0000_0000_0000_1000, // 丘陵
        Ridge        = 0b0000_0000_0001_0000, // 山脉
        Canyon       = 0b0000_0000_0010_0000, // 峡谷
        InnerSea     = 0b0000_0000_0100_0000, // 内海
        Coastal      = 0b0000_0000_1000_0000, // 临海
        RoundedSea   = 0b0000_0001_0000_0000, // 环海
        Desert       = 0b0000_0010_0000_0000, // 沙漠
        Forest       = 0b0000_0100_0000_0000, // 森林
        Grassland    = 0b0000_1000_0000_0000, // 草原
        SnowMountain = 0b0001_0000_0000_0000, // 雪山
        Cliff        = 0b0010_0000_0000_0000, // 悬崖
        Cave         = 0b0100_0000_0000_0000, // 山洞
    }

    public sealed class Part_CountryGeography : DataPart
    {
        public string        LandscapeComplement { get; set; }
        public CountryType   CountryType         { get; set; }
        public LandscapeType LandscapeType       { get; set; }

        public IList<OccupationReference> Plants    { get; set; }
        public IList<OccupationReference> Species   { get; set; }
        public IList<OccupationReference> Resources { get; set; }

        public override DataPartType Type => DataPartType.Detail_Country_Geography;
    }
}